POCKET ATARI Version 2002/2/10 (experimental release) Copyright (C) 2001,2002 by Vasyl Tsvirkunov Introduction ------------------------------------------------------------------- Have you played MULE years ago? Archon? Rescue at Fractalus? Chances are, your first computer was Atari 800. Sometimes you want to replay these old games. But the problem is -- you don't have that Atari anymore. You've heard about those wonderful "emulators," that can run 1.72 MHz Atari on your state-of-the- art 1.7 GHz P4. But you cannot do it in your office (even if your boss is playing games all day long) and you don't have that much time at home. Wait a second! Why can't you play while commuting(*) or on long trips. You don't want to take laptop everywhere? Fine, you don't need it. Your PDA can do it, if it is Pocket PC. Enter Pocket Atari. (*) Don't do this while driving! Hardware requirements ---------------------------------------------------------- To use Pocket Atari you need Windows CE 3.0 based Pocket PC rsing 240x320 portrait mode screen. All three available CPUs are supported, both PocketPC 2000 and Pocket PC 2002 are supported, and all existing video modes are supported. The only thoroughly tested build at the time of writing is StrongARM (iPAQ). Most StrongARM devices run at 206 MHz which seems to be sufficient for most games. Sound should work properly but digitized speech (Berzerk) is not intelligible (it was not very clean on the original hardware). Memory requirements are very modest as the emulator itself takes less than 200K and consumes about that much in runtime. You will need extra space to store ROMs and games. Emulator can run from CF card. MIPS and SH CPUs running at 150MHz should be sufficient. If it is too slow for you try editing ATARI800.CFG, entry SCREEN_REFRESH_RATIO. Emulator may become to choppy with higher refresh ratios, also, sprite collision may not work properly. Version Status ----------------------------------------------------------------- This is "experimental" release based on current Atari800 source code. It is more or less identical in core features to Atari800 1.2.2 released about three months ago. However, port-specific features has been improved since then. The major improvement in this particular version is that it is much faster than before. It is so fast that in most cases you should be able to get 100% speed with SCREEN_REFRESH_RATIO of 1 and full sound. Enabling linear filtering does not hurt performance that much anymore either. Installation ------------------------------------------------------------------- 1. Create a folder somewhere on Pocket PC (yes, it can be on CF card) and copy included PocketAtari.exe and Atari800.cfg there. 2. You will need a few extra things to run Pocket Atari on your PocketPC. The first one is GAPI 1.2 (http://www.microsoft.com/mobile/developer/downloads/ gapi.asp). Copy proper DX.DLL to Windows folder on your Pocket PC. 3. The second thing is Atari 800 system ROMs. These are freely available as part of another Atari800 emulator -- PC XFormer. Download it from Downloads section at Emulators, Inc (www.emulators.com). The file you need is PCXF380.ZIP. Extract files ATARIOSB.ROM, ATARIXL.ROM and ATARIBAS.ROM and place them in Pocket Atari folder on your Pocket PC. 4. The last thing you need is... Atari software. Pocket Atari supports most common Atari image formats: ATR, XFD, various cartridges, binaries. You can put disk images and other binaries anywhere you want. Subfolder of Pocket Atari folder is probably the best idea -- you will not waste your time hunting for files all over the place. Controls ----------------------------------------------------------------------- Now that you have all you need, start Pocket Atari. If you've done everything right you should see Atari 800 XL self-test screen and tiny keyboard below it. Now, you are in business. You need to learn how to use keyboard and joystick first. Different Pocket PCs have slightly different layouts. My explanations are targeted for iPAQ 36x0. Same should apply to other units however some may have slightly different button layouts. Pocket Atari has two modes of operation: emulation and UI. If you ever had experience with other Atari800 ports you may be already familiar with UI. Don't expect anything as fancy as Atari800Win, that one has completely different implementation. So, iPAQ has four-directional "joystick" at the bottom with Start button hidden underneath it (just press it at the center). Two buttons on the right are buttons A and B. Button on the left side, near the top, is button C. Buttons on the left of joystick always perform the same operation in this version, I will refer to them as button D. While you are in emulator mode iPAQ joystick functions as... joystick. Both A and B buttons work as joystick trigger. There is "virtual joystick" available in UI in Pocket Atari Settings. With virtual joystick you can use stylus to control the game. Tap on left side of the screen to "move joystick to the left," etc. If you tap closer to the center of the screen, the trigger will be pressed as well. It is not very playable right now, I am just playing with the concept. In UI mode four-directional joystick works as arrow keys, moving current selection. Start performs the same function as Escape, button A is Space key, button B is Enter. Most of UI options are kind of self-explanatory if you had experience with another Atari800 emulator or the real thing. I will give brief overview a little further. On screen keyboard is essentially complete Atari 800 keyboard. The only key missing is Reset -- it's function is available through UI. There are four extra keys on the right side of the spacebar. The first key, tiny diskette, is UI key. Click on it to switch to UI. The next one cycles through three rotation modes: portrait, left-handed landscape and right-handed landscape. Don't panic, there is no keyboard in landscape modes by default. Tap in the right bottom corner of the screen and you will get the same keyboard overlaying emulator image. The last two keys are most useful in landscape modes. Black and white rectangle switches between white and black keyboard overlay image. Pick the one that reads better. The last button simply hides keyboard in landscape mode, does nothing in portrait mode. If you want to move keyboard overlay to different corner in landscape mode, just tap there. Note that you cannot use tap to trigger the joystick while keyboard overlay is visible. Two last notes on controls. Emulator always switches to portrait mode for UI. There is alternative keyboard in Atari 5200 mode (about that -- later). UI ----------------------------------------------------------------------------- Standard UI is somewhat simplistic but functional. * Disk Management That's were you insert and remove Atari "diskettes." Pocket Atari accepts both ATR and XFD image formats. Megaimages are also supported. When you select "Disk Management" item you'll see list of eight drives D1-D8. Pressing Space on drive toggles between writable and read only, pressing Enter switches to browsing mode where you can pick image you want to load into drive. Press Escape to return to the main menu. Keep in mind that inserting and removind disks does not reboot the emulator, you can use this to swap disks in multidisk games, etc. * Cartridge Management Here you can insert and remove cartridges. The other three features are currently not working (Enable PILL works but as that menu item does not have visual feedback it should be considered broken). Inserting or removing cartridge reboots emulator. For cartridges in raw format (no header) you will have to specify (guess) type. * Run BIN File Directly This is special feature of Atari800 emulator -- it can load Atari executables directly without the need of disk images. Running executable reboots emulator. * Select System You can switch between different versions of Atari800. Don't select OS/A if you don't have ATARIOSA.ROM and don't select Atari 5200 if you don't have 5200.ROM. Switching system will definitely reboot emulator. * Artifacting Mode That's a long story. To make it short, it emulates some defects of old TV sets and controllers. Most modes look somewhat odd but in a few games they produce interesting and often useful results. In most cases you should it on default. * Atari Settings Built-in patches enable more functionality in Atari OS. In most cases you should leave it as it is. If you have problems running some particularly quirky piece of software you may need to disable SIO patch. Disk access will bog down to authentic Atari 800 speed. * Save State/Load State Yes, you can save and load emulation state. This way you can save in games that did not have save functionality. You are going to love this one. * PCX Screenshot Exactly what it says, saves screenshot in PCX format. * Pocket Atari Setting Port-specific settings. Linear filtering improves visual quality a lot but the emulator may get a little slower. If you are using text modes, this setting is recommended. Just try and you'll see. UI itself always uses linear filtering. Keep in mind that not all devices support this setting. Virtual joystick is stylus-controlled joystick. Not nearly final in this release. Joystick autofire should really be easier available. * Back To Emulated Atari You can always press Escape instead. * Reset and Reboot Two ways to reboot your Atari. Some games efficiently intercept Reset. Reboot is always successful. * About Pocket Atari Pocket Atari About box. * About the Emulator Core Atari800 About box. * Exit Emulator There was one old Mastertronic Adventure, Spellbound. Among all spells used in that game there was one always available -- Quitus Gamus. Guess what it did. Atari 5200 --------------------------------------------------------------------- Unfortunately, Atari 5200 system ROMs are not legally available at this moment. Assuming that you have that ROM, it's pretty much the same as with Atari 800 ROMs. Put it into Pocket Atari folder. Cartridge loading is pretty much the same as for Atari 800. Cartridge types are different. As soon as you switch to Atari 5200 mode on screen keyboard changes. The original Atari 5200 had joystick with small numeric pad. Support for Atari 5200 in Pocket Atari is preliminary -- original console had analog joystick which is pain to emulate. Some games work just fine in this version, others are not playable. Plans -------------------------------------------------------------------------- I will continue development. Expect some updates in near future. Feel free to send me suggestions about possible improvements to this project. Thanks ------------------------------------------------------------------------- First of all, special thanks go to Atari engineers who designed the original Atari 800. Without that computer my life could be very different. Big thanks to all Atari800 developers for creating this great emulator. They also provided much needed help by answering some tricky questions. Thanks to Microsoft for designing Windows CE OS and finally bringing it to the current level. Also, thanks for making nice development environment for it. Thanks to Compaq for creating iPAQ Pocket PCs. If it was not so cool I would not buy one and this emulator would never be created. Thanks to Retrogames staff for hosting homepage for this emulator. Disclaimers -------------------------------------------------------------------- Pocket Atari is Freeware product distributed "as is" under the terms of GNU General Public License (included). Author is not responsible for damage caused by use, abuse, misuse or inability of use this software, either direct or indirect. For all questions regarding distribution and terms of use consult GNU GPL text. This software was developed using freely available tools on equipment that belongs solely to the author. As author is currently employed by large computer entertainment corporation, this disclaimer also states that that corporation is in no way associated with this software and its development. All product names mentioned in this document, software and its source code are trademarks or registered trademarks of their respective owners. English is not my native language. Please be forgiving. Contact Info ------------------------------------------------------------------- If you have any questions you can reach me by e-mail: vasyl@pacbell.net. ROM REQUESTS WILL BE DELETED WITHOUT CONSIDERATION; I WILL NOT BE ENGAGED IN ANY DISCUSSIONS REGARDING PIRACY AND LEGALITY OF EMULATION; NO BINARY ATTACHMENTS OF ANY KIND WILL BE ACCEPTED WITHOUT PREVIOUS ACKNOWLEDGEMENT. When sending a message please try to make message subject clear. Please remember that I am quite busy so don't expect instantaneous reply. Vasyl 5-13-2002